from alipay import AliPay
from alipay.utils import AliPayConfig

app_private_key_string = open("./应用私钥RSA2048.txt").read()
alipay_public_key_string = open("./支付宝公钥.txt").read()

# 应用私钥格式
"""
-----BEGIN RSA PRIVATE KEY-----
base64 encoded content
-----END RSA PRIVATE KEY-----
"""
# 支付宝公钥格式
"""
-----BEGIN PUBLIC KEY-----
base64 encoded content
-----END PUBLIC KEY-----
"""

alipay = AliPay(
    appid="9021000133687326",
    app_notify_url=None,  # 默认回调 url
    app_private_key_string=app_private_key_string,
    # 支付宝的公钥，验证支付宝回传消息使用，
    alipay_public_key_string=alipay_public_key_string,
    sign_type="RSA2",  # RSA 或者 RSA2
    debug=True,  # 默认 False，设置True开沙盒模式
)

res = alipay.api_alipay_trade_page_pay(
    out_trade_no='002',  # 订单号(接收数据)
    total_amount=float(10),  # 价格(接收数据)
    subject='鞋子',  # 名称(接收数据)
    return_url='http://127.0.0.1:8080/pay/success/',  # 支付成功后会跳转的页面
    notify_url='http://127.0.0.1:8000/order/',  # 回调地址，支付成功后支付宝会向这个地址发送post请求
)

gataway = 'https://openapi-sandbox.dl.alipaydev.com/gateway.do?'
# 支付链接
pay_url = gataway + res
print(pay_url)